package com.cssw.fyzb.base.web.util;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.sql.Date;

/**
 * @Author: chenchao
 * @Date: 2020/9/12 13:57
 */
public class SecurityKit {

    private static final Logger logger = LoggerFactory.getLogger(SecurityKit.class);


    //通过加密变量去掉4位随机数，还原成时间，然后根据水印规则生成水印进行比对是否一致，一致进行实名，不一致直接返回
    //数字水印信息  s（根据分钟 + 小时 + 1 之和，截取token的位数然后MD5）

    /**
     * @param m     （时间戳+4位随机数）
     * @param s     （根据日 + 小时之和，截取token的位数然后MD5）
     * @param token
     * @return
     */
    public static boolean checkToken(String m, String s, String token) throws Exception {
        String timeStr = m.substring(0, m.length() - 4);
        long time = Long.parseLong(timeStr);
        Date dayTime = new Date(time);
        int min = TimeUtil.getMinutes(dayTime);
        int hour = TimeUtil.getHour(dayTime);
        String wapS = token.substring(0, min + hour + 1);
        logger.info("wapS:" + wapS);
        String wapSMD5 = MD5Util.getMD5Str(wapS);
        logger.info("wapSMD5:" + wapSMD5);
        return wapSMD5.equals(s);
    }

}
